package cc.rboot.feature.annotation;

import cc.rboot.feature.core.FeatureMethodEnum;
import cc.rboot.feature.core.IFeatureResolver;

import java.lang.annotation.*;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Feature {

    String name(); // 特性分支的名称，在同一个类下有效，用于区分同一个类下的不同特性

    Class<? extends IFeatureResolver> resolver(); // 特性分支条件解析器

    FeatureMethodEnum method() default FeatureMethodEnum.EQUALS; // 特性分支执行条件的符号，比如 = > < >= <= between

    String[] conditions() default ""; // 匹配条件
}
